Skip to main content
guest
|
Join
|
Help
|
Sign In
guest
Join
|
Help
|
Sign In
schuchert
Home
Wiki Home
Recent Changes
Pages and Files
Members
My CV
C++ Training
New Stuff
FitNessse Tutorials
Experiential Learning
RubyNotes
EJB & JPA
Agile Courseware
Unpublished Articles
Tool Configuration
AOP
C# & OOP
Back to the Top
tddisnotenough.GRASP
Edit
0
2
…
0
Tags
No tags
Notify
RSS
Backlinks
Source
Print
Export (PDF)
<==Back
Name
Summary Description
Information Expert
Assign responsibility to the thing that has the information.
Controller
Assign system operations (events) to a non-UI class. May be system-wide, use case driven or for a layer.
Low Coupling
Try to keep the number of connections small. Prefer coupling to stable abstractions.
High Cohesion
Keep focus. The behaviors of a thing should be related. Alternatively, clients should use all or most parts of an API.
Polymorphism
Where there are variations in type, assign responsibility to the types (hierarchy) rather than determine behavior externally,
Pure Fabrication
Create a class that does not come from the domain to assist in maintaining high cohesion and low coupling.
Protected Variations
Protect things by finding the change points and wrapping them behind an interface. Use polymorphism to introduce variance.
<==Back
Javascript Required
You need to enable Javascript in your browser to edit pages.
help on how to format text
Turn off "Getting Started"
Home
...
Loading...
<==Back